1. Field of the Invention
The present invention relates to an information processing apparatus, a program update method, and a program for achieving the program update method.
2. Description of the Related Art
Conventionally, a technique of updating a program to be executed by an information processing apparatus such as an image forming apparatus or the like has been known.
Further, a technique of, in preparation for a case where an error occurs in an update of a program and/or a case where an updated program itself has a problem, previously evacuating or saving a program not yet updated and, when an error actually occurs, performing restoration by the previously evacuated program has been known (e.g., Japanese Patent Application Laid-Open No. 2001-117780). Further, a technique of, when updating a plurality of programs to be executed by an information processing apparatus, managing and controlling a combination of versions of the plurality of programs, and giving a warning when the combination of the versions of the plurality of programs is not appropriate has been known (e.g., Japanese Patent Application Laid-Open No. 2004-042304). In the technique as disclosed in Japanese Patent Application Laid-Open No. 2004-042304, the update of each of the plurality of programs is independently performed, and, after completion of the update of each program, it is judged whether or not the combination of the versions of these programs is appropriate.
In the technique as disclosed in Japanese Patent Application Laid-Open No. 2001-117780, when the error actually occurs in the program, the relevant program is restored to the program which has been previously evacuated and is not yet updated. Here, for example, the programs to be used for operation control of the image forming apparatus include not only a body controller, but also a plurality of external controllers such as a BIOS (Basic Input/Output System), an engine controller, a scanner controller and the like. Moreover, the plurality of external controllers (external controller programs) include a program of which communication speed is low and thus to which it takes a long time to evacuate before an update, a program which cannot be evacuated before an update, or the like. Consequently, in this technique, there is a problem that impossibility of the program restoration in case of the occurrence of the error has not been considered.
Besides, in the technique as disclosed in Japanese Patent Application Laid-Open No. 2004-042304, when the update of each program is normally completed, it is then judged whether or not the combination of the versions of the programs is appropriate. Namely, in the technique as disclosed in Japanese Patent Application Laid-Open No. 2004-042304, there is a problem that impossibility of the normal update of each program due to the occurrence of the error in the update has not been considered.
The present invention has been completed in consideration of the above problems, and an object thereof is to, even when an error occurs during updates of the plurality of programs, return the combination of the versions of the plurality of programs to the combination of the versions of the programs before the updates.